package br.com.planseq.sgbl.view.entity
{
	import mx.controls.Alert;
	import mx.rpc.events.FaultEvent;
	import mx.rpc.remoting.mxml.RemoteObject;
	
	public class ObjetoRemoto extends RemoteObject
	{
		public function ObjetoRemoto(result: Function, destination: String)
		{
			this.showBusyCursor = true;
			this.destination = destination;					
			this.addEventListener("fault", remoteObjectFault);
			
			//funções que retornam void passam result == null
			if (result != null)
				this.addEventListener("result", result);
			this.showBusyCursor = false;
		}		
		
		private function remoteObjectFault(event:FaultEvent): void
		{ 
			if(event.fault.rootCause != null) {  				             
				Alert.show(event.fault.rootCause.message, "Falha na comunicação com o servidor!");
				//Alert.show(event.fault.message, "Falha na comunicação com o servidor!");
			} else {
				Alert.show(event.fault.message, "Falha na comunicação com o servidor!");
			}
			this.showBusyCursor = false;        	        	
		}
	}
}